home *** CD-ROM | disk | FTP | other *** search
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- import java.util.EmptyStackException;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Stack;
- import java.util.Vector;
- import javax.microedition.io.ConnectionNotFoundException;
- import javax.microedition.io.Connector;
- import javax.microedition.io.HttpConnection;
- import javax.microedition.lcdui.Font;
- import javax.microedition.lcdui.Image;
- import javax.microedition.rms.InvalidRecordIDException;
- import javax.microedition.rms.RecordStore;
-
- // $FF: renamed from: t
- class class_0 implements Runnable {
- // $FF: renamed from: z java.lang.String
- private String field_0;
- // $FF: renamed from: p java.lang.String
- private String field_1;
- // $FF: renamed from: A boolean
- private boolean field_2;
- // $FF: renamed from: r int
- private int field_3;
- // $FF: renamed from: o int
- private int field_4;
- // $FF: renamed from: j m
- private m field_5;
- // $FF: renamed from: l java.lang.String
- private String field_6;
- // $FF: renamed from: c java.lang.String
- private String field_7;
- // $FF: renamed from: f java.lang.String
- private String field_8;
- // $FF: renamed from: v q[]
- private q[] field_9;
- // $FF: renamed from: e java.lang.String
- private String field_10;
- // $FF: renamed from: k java.lang.String
- private String field_11;
- // $FF: renamed from: x boolean
- private boolean field_12;
- // $FF: renamed from: y boolean
- private volatile boolean field_13 = false;
- // $FF: renamed from: t int
- private int field_14 = 0;
- // $FF: renamed from: q int
- private int field_15 = 0;
- // $FF: renamed from: w int
- private int field_16 = 1;
- // $FF: renamed from: a java.util.Vector
- private Vector field_17;
- // $FF: renamed from: B java.util.Vector
- private Vector field_18;
- // $FF: renamed from: d java.util.Vector
- private Vector field_19;
- // $FF: renamed from: n java.util.Hashtable
- private Hashtable field_20;
- // $FF: renamed from: i int
- private int field_21 = 0;
- // $FF: renamed from: h int
- private int field_22 = 0;
- // $FF: renamed from: s java.util.Stack
- private Stack field_23;
- // $FF: renamed from: m javax.microedition.lcdui.Font
- private Font field_24;
- // $FF: renamed from: u int
- private int field_25 = 0;
- // $FF: renamed from: b int
- private int field_26;
- // $FF: renamed from: g byte
- private byte field_27 = 0;
-
- class_0(m var1, String var2, String var3, String var4, q[] var5, String var6, String var7, boolean var8, Vector var9, Vector var10, Vector var11, Hashtable var12) {
- this.field_5 = var1;
- this.field_6 = var2;
- this.field_7 = var3;
- this.field_8 = var4;
- this.field_9 = var5;
- this.field_10 = var6;
- this.field_11 = var7;
- this.field_12 = var8;
- this.field_17 = var9;
- this.field_18 = var10;
- this.field_19 = var11;
- this.field_20 = var12;
- this.field_0 = var1.b;
- this.field_1 = var1.U;
- this.field_2 = var1.ac;
- this.field_3 = var1.af;
- this.field_4 = var1.H;
- this.field_24 = var1.al;
- this.field_26 = this.field_24.getHeight();
- }
-
- // $FF: renamed from: d () void
- void method_0() {
- this.field_13 = true;
- }
-
- // $FF: renamed from: a (java.io.Writer) void
- private void method_1(Writer var1) throws IOException {
- var1.write("<req vid=\"18\" ver=\"1.8.4E\">");
- var1.write("<uri");
- if (this.field_11 != null) {
- var1.write(" ref=\"" + this.method_20(this.field_11, true) + '"');
- }
-
- if (this.field_12) {
- var1.write(" noCache=\"1\"");
- }
-
- var1.write('>' + this.method_20(this.field_6, false) + "</uri>" + "<display width=\"" + this.field_3 + "\" height=\"" + this.field_4 + "\" images=\"" + this.field_2 + "\" cookies=\"" + (short)this.field_5.a + "\" isColor=\"" + this.field_5.M + "\" numColors=\"" + this.field_5.J);
- if (this.field_5.w > 0) {
- var1.write("\" l=\"" + this.field_5.w);
- }
-
- var1.write("\"/>");
- if (this.field_9 != null) {
- var1.write("<f");
- if (this.field_7 != null) {
- var1.write(" method=\"" + this.method_20(this.field_7, true) + '"');
- this.field_7 = null;
- }
-
- if (this.field_8 != null) {
- var1.write(" enctype=\"" + this.method_20(this.field_8, true) + '"');
- this.field_8 = null;
- }
-
- if (this.field_10 != null) {
- var1.write(" charset=\"" + this.method_20(this.field_10, true) + '"');
- }
-
- var1.write(62);
-
- for(int var2 = 0; var2 < this.field_9.length; ++var2) {
- var1.write("<nv n=\"");
- var1.write(this.method_20(this.field_9[var2].a, true));
- var1.write("\" v=\"");
- var1.write(this.method_20(this.field_9[var2].b, true));
- var1.write("\"/>");
- }
-
- this.field_9 = null;
- var1.write("</f>");
- }
-
- var1.write("</req>");
- }
-
- // $FF: renamed from: b (java.lang.String) java.lang.String
- static String method_2(String var0) {
- int var1 = var0.indexOf(37);
- if (var1 < 0) {
- return var0;
- } else {
- StringBuffer var2 = new StringBuffer();
-
- for(int var3 = 0; var3 < var0.length(); ++var3) {
- char var4 = var0.charAt(var3);
- if (var4 == '%' && var3 + 2 < var0.length()) {
- try {
- var2.append((char)Integer.parseInt(var0.substring(var3 + 1, var3 + 3), 16));
- var3 += 2;
- continue;
- } catch (NumberFormatException var6) {
- }
- }
-
- var2.append(var4);
- }
-
- return var2.toString();
- }
- }
-
- // $FF: renamed from: a (java.lang.String) java.lang.String
- private String method_3(String var1) {
- int var2 = var1.indexOf("JSESSIONID=");
- if (var2 == -1) {
- return null;
- } else {
- int var3 = var1.indexOf(59, var2);
- return var3 == -1 ? var1.substring(var2 + 11) : var1.substring(var2 + 11, var3);
- }
- }
-
- // $FF: renamed from: e (java.lang.String) boolean
- private boolean method_4(String var1) {
- return var1.toLowerCase().startsWith("https:");
- }
-
- public void run() {
- try {
- HttpConnection var1 = null;
- Object var2 = null;
- OutputStreamWriter var3 = null;
-
- try {
- try {
- String var4 = null;
- int var5 = this.field_6.indexOf(35);
- if (var5 >= 0) {
- var4 = this.field_6.substring(var5 + 1);
- this.field_6 = this.field_6.substring(0, var5);
- }
-
- for(int var65 = 0; var65 <= 6; ++var65) {
- if (var65 == 0) {
- this.method_8(1, 0, (Throwable)null);
- }
-
- boolean var6 = this.method_4(this.field_6);
- String var7 = var6 ? this.field_5.z : this.field_5.D;
- if (var7 == null) {
- throw new IOException((var6 ? "Secure " : "") + "ReqwirelessWeb server not set");
- }
-
- int var8 = var7.toLowerCase().startsWith("https:");
-
- try {
- var1 = (HttpConnection)Connector.open(var7);
- } catch (ConnectionNotFoundException var60) {
- if (var6) {
- throw new ConnectionNotFoundException("This resource requires a secure (HTTPS) connection, which is not supported by your device.");
- }
-
- throw var60;
- }
-
- var1.setRequestMethod("POST");
- if (this.field_5.S) {
- var1.setRequestProperty("Connection", "close");
- }
-
- String var9 = this.field_5.Y;
- if (var9 != null) {
- var1.setRequestProperty("Cookie", "JSESSIONID=" + var9);
- }
-
- if (var8) {
- String var10 = this.field_5.aj;
- if (var10 != null) {
- var1.setRequestProperty("X-RW-SID", var10);
- }
- }
-
- var1.setRequestProperty("Content-Type", "text/xml");
- var1.setRequestProperty("Accept", "text/xml, image/png, application/x-reqwirelessweb, application/reqwireless-email");
- if (this.field_0 != null) {
- var1.setRequestProperty("User-Agent", this.field_0);
- }
-
- if (this.field_1 != null) {
- var1.setRequestProperty("Accept-Language", this.field_1);
- }
-
- String var71 = this.field_5.u;
- if (var71 != null) {
- var1.setRequestProperty("X-RW-ClientID", var71);
- }
-
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- var3 = new OutputStreamWriter(var1.openOutputStream());
- this.method_1(var3);
- var3.close();
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- if (var65 == 0) {
- this.method_8(1, 100, (Throwable)null);
- this.method_8(2, 0, (Throwable)null);
- }
-
- var2 = var1.openInputStream();
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- String var11 = var1.getHeaderField("Set-Cookie");
- if (var11 != null) {
- this.field_5.Y = this.method_3(var11);
- }
-
- String var12 = var1.getHeaderField("X-RW-ClientID");
- if (var12 != null) {
- RecordStore var13 = null;
- Object var14 = null;
- DataOutputStream var15 = null;
-
- try {
- var13 = RecordStore.openRecordStore("clientID", true);
- ByteArrayOutputStream var73 = new ByteArrayOutputStream();
- var15 = new DataOutputStream(var73);
- var15.writeUTF(var12);
- var15.flush();
- byte[] var16 = var73.toByteArray();
-
- try {
- var13.setRecord(1, var16, 0, var16.length);
- } catch (InvalidRecordIDException var57) {
- var13.addRecord(var16, 0, var16.length);
- }
-
- this.field_5.u = var12;
- if (var12.length() > 0 && var12.charAt(0) == '$') {
- m.ab = true;
- EV.w.delete(7);
- }
- } catch (Exception var58) {
- } finally {
- if (var15 != null) {
- var15.close();
- }
-
- if (var13 != null) {
- try {
- var13.closeRecordStore();
- } catch (Exception var56) {
- }
- }
-
- }
- }
-
- if (var8) {
- String var72 = var1.getHeaderField("X-RW-SID");
- if (var72 != null) {
- this.field_5.aj = var72;
- }
- }
-
- this.field_6 = var1.getHeaderField("X-RW-Redirect");
- if (this.field_6 == null) {
- String var66 = var1.getHeaderField("Content-Location");
- if (var4 != null) {
- var66 = var66 + '#' + var4;
- }
-
- this.field_5.d(var66);
- this.method_8(2, 100, (Throwable)null);
- var7 = var1.getType();
- if (var7 == null) {
- throw new IOException("Unexpected server response");
- }
-
- var8 = (int)var1.getLength();
- if (this.field_5.w == 30000) {
- ByteArrayInputStream var69 = new ByteArrayInputStream(this.method_9((InputStream)var2, var8, -1));
- ((InputStream)var2).close();
- var1.close();
- var2 = var69;
- }
-
- if (var7.startsWith("application/x-reqwirelessweb")) {
- this.method_5((InputStream)var2);
- if (this.field_16 != 64 || this.field_15 != 100) {
- this.method_8(64, 100, (Throwable)null);
- }
- } else if (var7.startsWith("text/xml")) {
- this.method_10((InputStream)var2, var8);
- this.method_8(64, 100, (Throwable)null);
- } else if (var7.startsWith("image/")) {
- var4 = null;
- this.method_8(16, 100, (Throwable)null);
- this.method_8(64, 0, (Throwable)null);
- this.method_19((InputStream)var2, var66, var8, true);
- this.method_8(64, 100, (Throwable)null);
- } else {
- var4 = null;
- f var70 = this.field_5.n();
- if (var70 == null) {
- throw new IOException("Unexpected server response");
- }
-
- var70.a(var7, (InputStream)var2, var8);
- }
-
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- if (var4 != null) {
- this.field_5.a(method_2(var4));
- }
-
- return;
- }
-
- if (var65 == 1) {
- this.method_8(2, 50, (Throwable)null);
- }
-
- ((InputStream)var2).close();
- var1.close();
- }
-
- throw new RuntimeException("Exceeded maximum number of redirects");
- } catch (OutOfMemoryError var61) {
- this.field_0 = null;
- this.field_1 = null;
- this.field_6 = null;
- this.field_10 = null;
- this.field_11 = null;
- System.gc();
- this.method_8(this.field_16, this.field_15, var61);
- } catch (Exception var62) {
- Thread.yield();
- this.method_8(this.field_16, this.field_15, var62);
- }
-
- return;
- } finally {
- try {
- if (var2 != null) {
- ((InputStream)var2).close();
- }
-
- if (var3 != null) {
- var3.close();
- }
-
- if (var1 != null) {
- var1.close();
- }
- } catch (IOException var55) {
- }
-
- this.field_5.repaint(0, 0, this.field_3, this.field_4);
- }
- } catch (OutOfMemoryError var64) {
- if (!this.field_13) {
- this.field_5.p.setString("Low memory, page truncated");
- this.field_5.c.setCurrent(this.field_5.p, this.field_5);
- }
- }
-
- }
-
- // $FF: renamed from: b (java.io.InputStream) void
- private void method_5(InputStream var1) throws IOException {
- while(this.method_7(var1)) {
- int var2 = -1;
- String var3 = null;
- String var4 = null;
-
- while(true) {
- String var5 = this.method_6(var1);
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- int var6 = var5.indexOf(58);
- if (var6 <= 0) {
- if (var4 != null) {
- if (var4.startsWith("image/")) {
- this.method_19(var1, var3, var2, false);
- if (this.field_14 > 0) {
- this.method_8(64, this.field_5.i.size() * 100 / this.field_14, (Throwable)null);
- }
- } else if (var4.startsWith("text/xml")) {
- this.method_10(new aa(var1, var2), var2);
- this.method_8(64, this.field_14 == 0 ? 100 : 0, (Throwable)null);
- }
- }
-
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- if (var1.read() != -1) {
- break;
- }
-
- return;
- }
-
- String var7 = var5.substring(0, var6);
- String var8 = var5.substring(var6 + 1).trim();
- if (var7.equals("Content-Type")) {
- var4 = var8;
- } else if (var7.equals("Content-Length")) {
- var2 = Integer.parseInt(var8);
- } else if (var7.equals("Content-Location")) {
- var3 = var8;
- } else if (var7.equals("X-Images")) {
- this.field_14 = Integer.parseInt(var8);
- }
- }
- }
-
- }
-
- // $FF: renamed from: c (java.io.InputStream) java.lang.String
- private String method_6(InputStream var1) throws IOException {
- StringBuffer var2 = new StringBuffer();
-
- while(true) {
- int var3 = var1.read();
- if (this.field_13 || var3 == -1 || var3 == 10) {
- return var2.toString();
- }
-
- var2.append((char)var3);
- }
- }
-
- // $FF: renamed from: a (java.io.InputStream) boolean
- private boolean method_7(InputStream var1) throws IOException {
- while(true) {
- int var2 = var1.read();
- if (!this.field_13 && var2 != -1) {
- if (var2 != 10) {
- continue;
- }
-
- return true;
- }
-
- return false;
- }
- }
-
- // $FF: renamed from: a (int, int, java.lang.Throwable) void
- private void method_8(int var1, int var2, Throwable var3) {
- if (!this.field_13) {
- String var4 = null;
- switch (var1) {
- case 1:
- var4 = "Contacting server";
- break;
- case 2:
- var4 = "Waiting for reply";
- break;
- case 16:
- var4 = "Loading text";
- break;
- case 64:
- if (var2 == 100) {
- var4 = "Done loading";
- } else {
- var4 = "Loading images";
- }
- }
-
- this.field_5.a(var4, var2, var3);
- this.field_16 = var1;
- n var5 = this.field_5.b();
- if (var5 != null && (var2 != this.field_15 || var2 == 100 || var3 != null || var1 == 1)) {
- var5.a(var1, var2, var3);
- this.field_15 = var2;
- }
-
- }
- }
-
- // $FF: renamed from: a (java.io.InputStream, int, int) byte[]
- private byte[] method_9(InputStream var1, int var2, int var3) throws IOException {
- byte[] var4 = new byte[var2];
- int var6 = 0;
-
- while(var6 < var2) {
- if (!this.field_5.e) {
- int var7 = var1.read(var4, var6, var2 - var6 < 256 ? var2 - var6 : 256);
- Thread.yield();
- if (this.field_13 || var7 == -1) {
- break;
- }
-
- var6 += var7;
- } else {
- int var5;
- do {
- var5 = var1.read();
- if (var5 == -1) {
- break;
- }
-
- var4[var6++] = (byte)var5;
- } while(var6 % 128 != 0 && var6 < var2);
-
- Thread.yield();
- if (this.field_13 || var5 == -1) {
- break;
- }
- }
-
- if (var3 >= 0) {
- this.method_8(var3, var6 * 95 / var2, (Throwable)null);
- }
- }
-
- return var4;
- }
-
- // $FF: renamed from: a (java.io.InputStream, int) void
- private void method_10(InputStream var1, int var2) throws IOException {
- if (this.field_14 > 0) {
- this.field_5.i = new Hashtable();
- } else {
- this.field_5.i = null;
- }
-
- try {
- s var3 = new s(new InputStreamReader(var1));
- this.field_23 = new Stack();
- o var4 = null;
- k var5 = null;
- x var6 = null;
- w var7 = null;
- g var8 = null;
- String var9 = null;
- String var10 = null;
- b var11 = null;
- b var12 = null;
- boolean var13 = false;
- boolean var14 = false;
- boolean var15 = false;
- boolean var16 = false;
- int var17 = -1;
- Stack var18 = null;
-
- while(true) {
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- Object var19 = null;
- switch (var3.e()) {
- case 1:
- this.method_8(16, 100, (Throwable)null);
- return;
- case 2:
- if (var2 > 0) {
- this.method_8(16, var3.b() * 100 / var2, (Throwable)null);
- } else {
- this.method_8(16, 69, (Throwable)null);
- }
-
- String var39 = var3.d();
- if (var14) {
- if (var39.equals("title")) {
- var15 = true;
- }
- } else if (var39.equals("head")) {
- var14 = true;
- } else if (this.method_14(var39)) {
- if (this.field_21 > 0 || var16) {
- if (!var39.equals("br")) {
- this.field_22 += this.field_24.getHeight() / 3;
- }
-
- this.method_22(this.field_24.getHeight());
- }
-
- if (var39.equals("li")) {
- StringBuffer var48 = new StringBuffer(2);
- if (var18 != null) {
- for(int var61 = 0; var61 < ((Vector)var18).size() && var61 < 4; ++var61) {
- var48.append(' ').append(' ');
- }
- }
-
- if (var17 > 0) {
- var48.append(String.valueOf(var17++));
- var48.append('.');
- } else {
- var48.append('*');
- }
-
- this.method_18(var48.toString(), (e)null);
- this.field_21 += this.field_24.charWidth(' ');
- } else {
- if (!var39.equals("ul") && !var39.equals("ol")) {
- if (var39.charAt(0) == 'h') {
- char var47 = var39.charAt(1);
- this.field_24 = Font.getFont(this.field_24.getFace(), this.field_5.e ? 0 : 1, var47 != '1' && var47 != '2' ? 0 : 16);
- break;
- }
-
- if (var39.equals("form")) {
- var6 = new x(var3.b("action"), var3.b("method"), var3.b("enctype"), var3.b("accept-charset"));
- if (this.field_19 != null) {
- this.field_19.addElement(var6);
- }
- } else if (var39.equals("pre")) {
- var16 = true;
- this.method_11();
- } else if (var39.equals("address")) {
- this.method_12();
- }
- break;
- }
-
- if (var17 >= 0) {
- if (var18 == null) {
- var18 = new Stack();
- }
-
- var18.push(new Integer(var17));
- }
-
- var17 = var39.equals("ol") ? 1 : 0;
- }
- } else if (var39.equals("a")) {
- String var46 = var3.b("href");
- if (var46 != null) {
- if (var4 != null) {
- this.method_13(var4);
- }
-
- var4 = new o(var46);
- this.field_23.push(this.field_24);
- this.field_24 = Font.getFont(this.field_24.getFace(), this.field_24.getStyle() | 4, this.field_24.getSize());
- this.field_25 = 255;
- }
-
- String var60 = var3.b("name");
- if (var60 != null && this.field_20 != null) {
- this.field_20.put(var60, new Integer(this.field_22));
- }
- } else if (this.field_2 && var39.equals("img")) {
- if (this.method_16(var3, (e)(var4 != null ? var4 : var5)) && var3.b("usemap") == null && var4 != null && var3.b("ismap") != null) {
- var4.a(true);
- }
- } else if (var39.equals("b")) {
- this.field_23.push(this.field_24);
- if (!this.field_5.e) {
- this.field_24 = Font.getFont(this.field_24.getFace(), this.field_24.getStyle() | 1, this.field_24.getSize());
- }
- } else if (var39.equals("i")) {
- this.method_12();
- } else if (var39.equals("input")) {
- String var45 = var3.b("type");
- if (var45 != null && !var45.equals("text") && !var45.equals("password")) {
- if (var45.equals("checkbox")) {
- String var59 = var3.b("value");
- if (var59 == null) {
- var59 = "on";
- }
-
- y var70 = new y(var3.b("name"), var59, var3.b("checked") != null);
- if (var6 != null) {
- var6.a(var70);
- }
-
- this.field_18.addElement(new d(var70, this.field_17.size()));
- int var77 = this.field_24.getHeight() - 2;
- if (var77 > this.field_3 - this.field_21) {
- this.method_22(var77 + 2);
- } else {
- this.method_25(var77 + 2);
- }
-
- this.field_17.addElement(new v(var70, this.field_21, this.method_23(var77), var77, var77, 0, (Font)null));
- this.field_21 += var77 + 1;
- break;
- }
-
- if (var45.equals("radio")) {
- String var58 = var3.b("value");
- if (var58 == null) {
- var58 = "on";
- }
-
- ae var69 = new ae(var6, var3.b("name"), var58, var3.b("checked") != null);
- if (var6 != null) {
- var6.a(var69);
- }
-
- this.field_18.addElement(new d(var69, this.field_17.size()));
- int var76 = this.field_24.getHeight();
- if (var76 > this.field_3 - this.field_21) {
- this.method_22(var76 + 2);
- } else {
- this.method_25(var76 + 2);
- }
-
- this.field_17.addElement(new v(var69, this.field_21, this.method_23(var76), var76, var76, 0, (Font)null));
- this.field_21 += var76 + 1;
- break;
- }
-
- if (!var45.equals("submit") && !var45.equals("reset")) {
- if (var45.equals("hidden")) {
- if (var6 != null) {
- String var57 = var3.b("name");
- if (var57 != null) {
- String var68 = var3.b("value");
- if (var68 == null) {
- var68 = "";
- }
-
- var6.a(new w(var57, var68, true));
- }
- }
- break;
- }
-
- if (!var45.equals("image")) {
- break;
- }
-
- String var56 = var3.b("name");
- if (var56 == null) {
- var56 = "";
- }
-
- if (var56.length() > 0) {
- var56 = var56 + '.';
- }
-
- w var67 = new w(var56 + 'x', (String)null, false);
- w var75 = new w(var56 + 'y', (String)null, false);
- if (var6 != null) {
- var6.a(var67);
- var6.a(var75);
- }
-
- var5 = new k(var6, var67, var75);
- if (!this.field_2 || !this.method_16(var3, var5)) {
- String var79 = var3.b("alt");
- if (var79 != null) {
- this.field_21 += this.method_18(var79, var5) + 1;
- }
- }
-
- this.field_18.addElement(var5);
- var5 = null;
- break;
- }
-
- String var54 = var3.b("value");
- w var66 = null;
- if (var45.equals("reset")) {
- if (var54 == null || var54.length() == 0) {
- var54 = new String("Reset");
- }
- } else {
- if (var54 == null || var54.length() == 0) {
- var54 = new String("Submit");
- }
-
- var66 = new w(var3.b("name"), var54, false);
- if (var6 != null) {
- var6.a(var66);
- }
- }
-
- var54 = ' ' + var54 + ' ';
- var5 = new k(var6, var66, (w)null);
- int var74 = this.field_24.stringWidth(var54);
- if (var74 >= this.field_3 - this.field_21 && this.field_21 > 0) {
- this.method_22(this.field_24.getHeight() + 1);
- }
-
- this.field_21 = this.method_18(var54, var5) + 1;
- this.field_18.addElement(var5);
- var5 = null;
- break;
- }
-
- int var53 = -1;
- int var65 = 20;
-
- try {
- String var72 = var3.b("maxlength");
- if (var72 != null) {
- var53 = Integer.parseInt(var72);
- }
-
- String var78 = var3.b("size");
- if (var78 != null) {
- var65 = Integer.parseInt(var78);
- }
- } catch (NumberFormatException var34) {
- }
-
- String var73 = var3.b("value");
- if (var73 == null) {
- var73 = "";
- }
-
- this.method_17(var3.b("name"), var73, 1, var65, var53, "password".equals(var45) ? 65536 : 0, var6);
- } else if (var39.equals("select")) {
- var8 = new g(var3.b("name"), var3.b("multiple") != null);
- } else if (var39.equals("option")) {
- var9 = var3.b("value");
- var13 = var3.b("selected") != null;
- } else if (var39.equals("textarea")) {
- int var44 = 3;
- int var52 = 30;
-
- try {
- String var64 = var3.b("rows");
- if (var64 != null) {
- var44 = Integer.parseInt(var64);
- }
-
- String var71 = var3.b("cols");
- if (var71 != null) {
- var52 = Integer.parseInt(var71);
- }
- } catch (NumberFormatException var33) {
- }
-
- var7 = this.method_17(var3.b("name"), (String)null, var44, var52, -1, 0, var6);
- } else if (var39.equals("tt")) {
- this.method_11();
- } else if (var39.equals("button")) {
- String var43 = var3.b("type");
- w var51 = null;
- if (var43 == null || var43.equals("submit")) {
- String var63 = var3.b("value");
- if (var63 == null) {
- var63 = "";
- }
-
- var51 = new w(var3.b("name"), var63, false);
- if (var6 != null) {
- var6.a(var51);
- }
- }
-
- var5 = new k(var6, var51, (w)null);
- if (this.field_21 > 0) {
- this.method_22(this.field_24.getHeight() + 1);
- }
- } else {
- if (!this.field_2 || !var39.equals("area")) {
- break;
- }
-
- String var42 = var3.b("href");
- String var50 = var3.b("shape");
- byte var62 = -1;
- if (var50 != null && !var50.equals("rect")) {
- if (var50.equals("circle")) {
- var62 = 1;
- } else if (var50.equals("poly")) {
- var62 = 2;
- } else if (var50.equals("default")) {
- var62 = 4;
- }
- } else {
- var62 = 0;
- }
-
- String var23 = var3.b("coords");
- int[] var24 = this.method_15(var23);
- b var25 = new b(var11, var42, var62, var24);
- if (var11 == null) {
- var11 = var25;
- }
-
- if (var12 != null) {
- var12.a(var25);
- }
-
- var12 = var25;
- var25.a(this.field_17.size());
- if (var42 != null) {
- this.field_18.addElement(var25);
- }
- }
- break;
- case 3:
- String var38 = var3.d();
- if (var14) {
- if (var15 && var38.equals("title")) {
- var15 = false;
- } else if (var38.equals("head")) {
- var14 = false;
- }
- } else if (this.method_14(var38)) {
- if (var38.charAt(0) == 'h') {
- this.field_24 = this.field_5.al;
- } else if (!var38.equals("ul") && !var38.equals("ol")) {
- if (var38.equals("pre")) {
- this.method_21();
- var16 = false;
- } else if (var38.equals("address")) {
- this.method_21();
- }
- } else if (var18 != null) {
- try {
- var17 = (Integer)var18.pop();
- } catch (EmptyStackException var32) {
- }
-
- if (var18.empty()) {
- var18 = null;
- }
- } else {
- var17 = -1;
- }
-
- if (this.field_21 > 0) {
- if (!var38.equals("br")) {
- this.field_22 += this.field_24.getHeight() / 3;
- }
-
- this.method_22(this.field_24.getHeight());
- }
- } else if (var38.equals("a")) {
- if (var4 != null) {
- this.method_13(var4);
- var4 = null;
- }
- } else {
- if (!var38.equals("b") && !var38.equals("i") && !var38.equals("tt")) {
- if (var38.equals("option")) {
- if (var8 != null) {
- if (var10 == null) {
- var10 = new String("");
- }
-
- var8.g().addElement(new r(var8, var10, var9 == null ? var10 : var9, var13));
- }
-
- var9 = null;
- var10 = null;
- continue;
- }
-
- if (!var38.equals("select")) {
- if (var38.equals("textarea")) {
- if (var7 != null) {
- if (var7.e() == null) {
- var7.a("");
- }
-
- var7 = null;
- }
- } else if (var38.equals("button")) {
- if (var5 != null) {
- if (var5.b() > 0) {
- this.field_18.addElement(var5);
- }
-
- var5 = null;
- if (this.field_21 > 0) {
- this.method_22(this.field_24.getHeight());
- }
- }
- } else if (this.field_2 && var38.equals("map")) {
- var11 = null;
- var12 = null;
- }
- continue;
- }
-
- var8.g().trimToSize();
- if (var6 != null) {
- var6.a(var8);
- }
-
- this.field_18.addElement(new i(var8, this.field_17.size(), this.field_24));
- int var40 = 0;
- Enumeration var49 = var8.g().elements();
-
- while(var49.hasMoreElements()) {
- int var22 = this.field_24.stringWidth(((r)var49.nextElement()).a());
- if (var22 > var40) {
- var40 = var22;
- if (var22 > this.field_3 - this.field_24.getHeight()) {
- var40 = this.field_3 - this.field_24.getHeight();
- break;
- }
- }
- }
-
- var40 += this.field_24.getHeight();
- if (var40 > this.field_3 - this.field_21) {
- this.method_22(this.field_24.getHeight() + 2);
- } else {
- this.method_25(this.field_24.getHeight() + 2);
- }
-
- this.field_17.addElement(new v(var8, this.field_21, this.method_23(this.field_24.getHeight()), var40, this.field_24.getHeight(), 0, (Font)null));
- this.field_21 += var40 + 1;
- var8 = null;
- continue;
- }
-
- this.method_21();
- }
- break;
- case 4:
- if (var14) {
- if (var15) {
- this.field_5.k = var3.a();
- }
- } else {
- String var20 = var3.a();
- if (var20 == null) {
- var20 = "";
- }
-
- if (var8 != null) {
- var10 = var20;
- } else if (var7 != null) {
- var7.a(var20);
- } else {
- if (this.field_21 <= 0 && !var16) {
- int var21;
- for(var21 = 0; var21 < var20.length() && var20.charAt(var21) <= ' '; ++var21) {
- }
-
- if (var21 > 0) {
- var20 = var20.substring(var21);
- }
- }
-
- this.method_18(var20, (e)(var4 != null ? var4 : var5));
- }
- }
- }
- }
- } finally {
- this.field_18.trimToSize();
- this.field_17.trimToSize();
- }
- }
-
- // $FF: renamed from: a () void
- private void method_11() {
- this.field_23.push(this.field_24);
- this.field_24 = Font.getFont(32, this.field_24.getStyle(), this.field_24.getSize());
- }
-
- // $FF: renamed from: c () void
- private void method_12() {
- this.field_23.push(this.field_24);
- this.field_24 = Font.getFont(this.field_24.getFace(), this.field_24.getStyle() | 2, this.field_24.getSize());
- }
-
- // $FF: renamed from: a (o) void
- private void method_13(o var1) {
- if (var1.b() > 0) {
- this.field_18.addElement(var1);
- }
-
- this.field_25 = 0;
- this.method_21();
- }
-
- // $FF: renamed from: d (java.lang.String) boolean
- private boolean method_14(String var1) {
- return "/p/br/div/form/center/li/ul/ol/h1/h2/h3/h4/h5/h6/blockquote/dt/dd/pre/address/".indexOf('/' + var1 + '/') != -1;
- }
-
- // $FF: renamed from: c (java.lang.String) int[]
- private int[] method_15(String var1) {
- if (var1 == null) {
- return null;
- } else {
- int var2 = 1;
-
- for(int var12 = 0; var12 < var1.length() && (var12 = var1.indexOf(44, var12)) != -1; ++var12) {
- ++var2;
- }
-
- int[] var4 = new int[var2];
- int var5 = 0;
-
- for(int var6 = 0; var5 < var2; ++var5) {
- int var7 = var1.indexOf(44, var6);
-
- try {
- Object var8 = null;
- String var13;
- if (var7 >= 0) {
- var13 = var1.substring(var6, var7);
- } else {
- var13 = var1.substring(var6);
- }
-
- var4[var5] = Integer.parseInt(var13);
- } catch (IndexOutOfBoundsException var10) {
- return null;
- } catch (NumberFormatException var11) {
- return null;
- }
-
- var6 = var7 + 1;
- }
-
- return var4;
- }
- }
-
- // $FF: renamed from: a (s, e) boolean
- private boolean method_16(s var1, e var2) {
- String var3 = var1.b("src");
- if (var3 != null) {
- try {
- int var4 = 0;
- int var5 = 0;
- String var6 = var1.b("width");
- if (var6 != null) {
- var4 = Integer.parseInt(var6);
- }
-
- String var7 = var1.b("height");
- if (var7 != null) {
- var5 = Integer.parseInt(var7);
- }
-
- if (var4 > 0 && var5 > 0) {
- var3 = var3 + '#' + var4 + ',' + var5;
- int var8 = 100;
- if (var4 > this.field_3) {
- var8 = 100 * this.field_3 / var4;
- var5 = this.field_3 * var5 / var4;
- var4 = this.field_3;
- if (var5 == 0) {
- var5 = 1;
- }
- }
-
- if (var4 > this.field_3 - this.field_21) {
- this.method_22(var5 + 2);
- } else {
- this.method_25(var5 + 2);
- }
-
- String var9 = var1.b("align");
- if (var9 != null) {
- if (var9.equals("top")) {
- this.method_26((byte)1);
- } else if (var9.equals("middle")) {
- this.method_26((byte)2);
- } else {
- this.method_26((byte)0);
- }
- } else {
- this.method_26((byte)0);
- }
-
- if (var2 != null) {
- var2.b(var8);
- var2.a(this.field_17.size());
- }
-
- ab var10 = new ab(this.field_5.i, var3, this.field_21, this.method_23(var5), var4, var5);
- this.field_17.addElement(var10);
- this.field_21 += var4 + 2;
- return true;
- }
- } catch (NumberFormatException var11) {
- }
- }
-
- return false;
- }
-
- // $FF: renamed from: a (java.lang.String, java.lang.String, int, int, int, int, x) w
- private w method_17(String var1, String var2, int var3, int var4, int var5, int var6, x var7) {
- if (this.field_21 > 0) {
- this.method_22(var3 * this.field_24.getHeight() + 2);
- } else {
- this.method_25(var3 * this.field_24.getHeight() + 2);
- }
-
- int var8 = var4 * this.field_24.charWidth(' ');
- if (var8 >= this.field_3) {
- var8 = this.field_3;
- }
-
- w var9 = new w(var1, var2, true);
- this.field_18.addElement(new z(var9, this.field_17.size(), var5, var6));
- this.field_17.addElement(new v(var9, this.field_21, this.field_22 + 1, var8, var3 * this.field_24.getHeight(), var6, this.field_24));
- if (var7 != null) {
- var7.a(var9);
- }
-
- this.field_21 += var8 + 1;
- if (this.field_5.l) {
- this.field_5.repaint(0, 0, this.field_3, this.field_4);
- }
-
- return var9;
- }
-
- // $FF: renamed from: a (java.lang.String, e) int
- private int method_18(String var1, e var2) {
- int var3 = var1.length();
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = this.field_21;
-
- while(var5 < var3) {
- int var8 = var1.indexOf(32, var5);
- if (var8 < 0) {
- var8 = var3;
- }
-
- if (var8 > 0) {
- int var9 = this.field_24.substringWidth(var1, var5, var8 - var5);
- if (var9 >= this.field_3 - this.field_21) {
- int var10 = var5 - 1;
- if (var6 == var5 && this.field_21 == 0) {
- int var11 = 1;
-
- while(true) {
- Thread.yield();
- if (this.field_13) {
- return var4;
- }
-
- var9 = this.field_24.substringWidth(var1, var5, var8 - var5 - var11);
- if (var9 <= this.field_3 - this.field_21) {
- var5 = var10 = var8 - var11;
- break;
- }
-
- ++var11;
- }
- }
-
- if (var10 > var6) {
- if (var2 != null) {
- var2.a(this.field_17.size());
- }
-
- this.method_25(this.field_24.getHeight());
- this.field_17.addElement(new j(var1.substring(var6, var10), var7, this.method_24(this.field_24.getHeight(), true), this.field_24, this.field_25));
- if (this.field_21 + var9 > var4) {
- var4 = this.field_21 + var9;
- }
- }
-
- this.method_22(this.field_24.getHeight());
- var7 = 0;
- var6 = var5;
- continue;
- }
-
- if (var8 + 1 >= var3) {
- if (var2 != null) {
- var2.a(this.field_17.size());
- }
-
- this.method_25(this.field_24.getHeight());
- this.field_17.addElement(new j(var1.substring(var6, var8), var7, this.method_24(this.field_24.getHeight(), true), this.field_24, this.field_25));
- this.field_21 += var9;
- if (this.field_21 > var4) {
- var4 = this.field_21;
- }
- } else {
- this.field_21 += var9;
- }
- }
-
- if (var8 < var3) {
- this.field_21 += this.field_24.charWidth(' ');
- }
-
- var5 = var8 + 1;
- }
-
- if (this.field_5.l) {
- this.field_5.repaint(0, 0, this.field_3, this.field_4);
- }
-
- return var4;
- }
-
- // $FF: renamed from: a (java.io.InputStream, java.lang.String, int, boolean) void
- private void method_19(InputStream var1, String var2, int var3, boolean var4) throws IOException {
- if (var3 != 0) {
- Object var5 = null;
- byte[] var10;
- if (var3 > 0) {
- var10 = this.method_9(var1, var3, var4 ? 64 : -1);
- } else {
- ByteArrayOutputStream var6 = new ByteArrayOutputStream();
- byte[] var7 = new byte[256];
-
- while(true) {
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- int var8 = var1.read(var7);
- if (var8 == -1) {
- var10 = var6.toByteArray();
- var6.close();
- break;
- }
-
- var6.write(var7, 0, var8);
- }
- }
-
- if (var10 != null && var10.length > 0) {
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- try {
- Image var12 = Image.createImage(var10, 0, var10.length);
- Object var11 = null;
- Thread.yield();
- if (this.field_13) {
- return;
- }
-
- if (this.field_5.i == null) {
- this.field_5.i = new Hashtable();
- this.field_5.y = var12.getHeight();
- ab var13 = new ab(this.field_5.i, var2, 0, 0, var12.getWidth(), var12.getHeight());
- this.field_17.addElement(var13);
- }
-
- this.field_5.i.put(var2, var12);
- this.field_5.repaint(0, 0, this.field_3, this.field_4);
- } catch (IllegalArgumentException var9) {
- if (this.field_5.i == null) {
- throw var9;
- }
- }
- }
-
- }
- }
-
- // $FF: renamed from: a (java.lang.String, boolean) java.lang.String
- private final String method_20(String var1, boolean var2) {
- int var3 = var1.length();
- StringBuffer var4 = new StringBuffer(var3);
-
- for(int var5 = 0; var5 < var3; ++var5) {
- char var6 = var1.charAt(var5);
- switch (var6) {
- case '"':
- if (var2) {
- var4.append(""");
- break;
- }
- default:
- if (var6 > 127) {
- var4.append("" + var6 + ';');
- } else {
- var4.append(var6);
- }
- break;
- case '&':
- var4.append("&");
- break;
- case '<':
- var4.append("<");
- break;
- case '>':
- var4.append(">");
- }
- }
-
- return var4.toString();
- }
-
- // $FF: renamed from: b () void
- private void method_21() {
- try {
- this.field_24 = (Font)this.field_23.pop();
- } catch (EmptyStackException var2) {
- }
-
- }
-
- // $FF: renamed from: c (int) void
- private void method_22(int var1) {
- this.field_21 = 0;
- this.field_22 += this.field_26;
- this.field_26 = var1;
- this.field_27 = 0;
- this.field_5.y = this.field_22 + this.field_26;
- }
-
- // $FF: renamed from: a (int) int
- private int method_23(int var1) {
- return this.method_24(var1, false);
- }
-
- // $FF: renamed from: a (int, boolean) int
- private int method_24(int var1, boolean var2) {
- switch (this.field_27) {
- case 1:
- return this.field_22 + (var2 ? 0 : 1);
- case 2:
- return this.field_22 + this.field_26 / 2 - var1 / 2;
- default:
- return this.field_22 + this.field_26 - var1 - (var2 ? 0 : 1);
- }
- }
-
- // $FF: renamed from: b (int) void
- private void method_25(int var1) {
- if (var1 > this.field_26) {
- this.field_26 = var1;
- this.field_5.y = this.field_22 + this.field_26;
- if (this.field_21 > 0) {
- this.method_27();
- }
- }
-
- }
-
- // $FF: renamed from: a (byte) void
- private void method_26(byte var1) {
- if (this.field_27 != var1) {
- this.field_27 = var1;
- this.method_27();
- }
-
- }
-
- // $FF: renamed from: e () void
- private void method_27() {
- for(int var1 = this.field_17.size() - 1; var1 >= 0; --var1) {
- c var2 = (c)this.field_17.elementAt(var1);
- if (var2.e < this.field_22) {
- break;
- }
-
- var2.e = this.method_24(var2.b(), var2 instanceof j);
- }
-
- }
- }
-